1100 A$=INKEY$:IF A$="" THEN 1100 ELSE IF A$<"A" OR A$>"K" THEN 1100 ELSE PRINT A$;:C=ASC(A$)-64
1120 Z$="":A$=INKEY$:IF A$="" THEN 1120 ELSE IF A$=CHR$(8) THEN LOCATE ,POS(0)-1:GOTO 1100 ELSE IF A$<"0" OR A$>"9" THEN 1120 ELSE PRINT A$;:Z$=Z$+A$
1130 A$=INKEY$:IF A$="" THEN 1130 ELSE IF A$=CHR$(8) THEN LOCATE ,POS(0)-1:GOTO 1120 ELSE IF A$<"0" OR A$>"9" THEN 1130 ELSE PRINT A$;:Z$=Z$+A$:R=VAL(Z$):RETURN
2012 IF A$>"`" AND A$<"{" THEN A$=CHR$(ASC(A$)-32)
2015 LOCATE 1,1:PRINT BL$;
2020 IF A$="B" THEN 2100 ELSE IF A$="C" THEN 500 ELSE IF A$="Q" THEN 2600 ELSE IF A$="N" THEN RUN ELSE IF A$="P" THEN 3000 ELSE IF A$="R" THEN 4000 ELSE IF A$="S" THEN 5000
2021 IF A$="L" THEN 5500 ELSE IF A$="G" THEN 10000 ELSE IF A$="H" THEN 8000 ELSE IF A$="T" THEN 6000 ELSE IF A$="D" THEN 6100 ELSE IF A$="A" THEN 6200 ELSE IF A$="E" THEN 7000 ELSE IF A$=">" THEN 2500 ELSE 30
5000 LOCATE 1,1:PRINT BL$;:LOCATE 1,1:PRINT "SAVE. Enter filespec for spreadsheet data file: ";:INPUT A$
5040 LOCATE 1,1:PRINT BL$;:LOCATE 1,1:PRINT "Insert disk (in default drive if not in filespec); press a key: ";
5050 IF INKEY$="" THEN 5050
5052 LOCATE 1,1:PRINT BL$;:LOCATE 1,1:PRINT "Saving data to ";A$;:OPEN "O",1,A$:FOR A9=1 TO 11:FOR A0=1 TO 22:PRINT #1,M(A9,A0);",";E$(A9,A0);",";M$(A9,A0):NEXT A0:NEXT A9:CLOSE:LOCATE 1,1:PRINT BL$;:GOTO 30
5500 LOCATE 1,1:PRINT BL$;:LOCATE 1,1:PRINT "LOAD. Enter filespec for spreadsheet data file: ";:INPUT A$
5540 LOCATE 1,1:PRINT BL$;:LOCATE 1,1:PRINT "Insert disk (in default drive if not in filespec); press a key: ";
5550 IF INKEY$="" THEN 5550
5552 LOCATE 1,1:PRINT BL$;:LOCATE 1,1:PRINT "Loading data from ";A$;:OPEN "I",1,A$:FOR A9=1 TO 11:FOR A0=1 TO 22:INPUT #1,M(A9,A0),E$(A9,A0),M$(A9,A0):IF M$(A9,A0)="" THEN M$(A9,A0)=" "
5560 NEXT A0:NEXT A9:CLOSE:GOTO 10250
5990 '&H2E2E..Total Routine....
6000 T=1:GOSUB 1000:T=0:E$(C,R)="E":IF A1=B1 THEN 6020
6010 FOR Q1=A1 TO B1:T=T+M(Q1,A2):GOSUB 6040:NEXT:D2=D2+1:M(C,R)=T:Z8=C:Z9=R:GOSUB 9100:LOCATE 1,1:PRINT BL$;:GOTO 30
6020 FOR Q1=A2 TO B2:T=T+M(A1,Q1):GOSUB 6050:NEXT:D2=D2+1:M(C,R)=T:Z8=C:Z9=R:GOSUB 9100:LOCATE 1,1:PRINT BL$;:GOTO 30
6040 A0=A2:GOSUB 700:E$(C,R)=E$(C,R)+CHR$(Q1+64)+B$:IF Q1<>B1 THEN E$(C,R)=E$(C,R)+"+":RETURN ELSE RETURN
6050 A0=Q1:GOSUB 700:E$(C,R)=E$(C,R)+CHR$(A1+64)+B$:IF Q1<>B2 THEN E$(C,R)=E$(C,R)+"+":RETURN ELSE RETURN
6090 '&H2E2E..Delete Routine....
6100 B$="":LOCATE 1,1:PRINT BL$;:LOCATE 1,1:PRINT "DELETE. Enter co-ordinates: ";:GOSUB 1100:A1=C:A2=R:PRINT "..";:GOSUB 1100:B1=C:B2=R:IF A1=B1 THEN 6120
6110 FOR Q1=A1 TO B1:M(Q1,A2)=0:E$(Q1,A2)="^":M$(Q1,A2)=" ":LOCATE A2+2,(Q1*7)-3:PRINT " ";:NEXT:LOCATE 1,1:PRINT BL$;:GOTO 30
6120 FOR Q1=A2 TO B2:M(A1,Q1)=0:E$(A1,Q1)="^":M$(A1,Q1)=" ":LOCATE Q1+2,(A1*7)-3:PRINT " ";:NEXT:LOCATE 1,1:PRINT BL$;:GOTO 30
6190 '&H2E2E..Average Routine....
6200 A=1:GOSUB 1000:A=0:E$(D1,D2)="E":IF A1=B1 THEN 6220
6210 F1=0:FOR Q1=A1 TO B1:A=A+M(Q1,A2):F1=F1+1:GOSUB 6240:NEXT:A=A/F1:M(D1,D2)=A:GOSUB 6260:Z8=D1:Z9=D2:GOSUB 9100:GOTO 30
6220 F1=0:FOR Q1=A2 TO B2:A=A+M(A1,Q1):F1=F1+1:GOSUB 6250:NEXT:A=A/F1:M(D1,D2)=A:GOSUB 6260:Z8=D1:Z9=D2:GOSUB 9100:GOTO 30
6240 A0=A2:GOSUB 700:E$(D1,D2)=E$(D1,D2)+CHR$(Q1+64)+B$:IF Q1<>B1 THEN E$(D1,D2)=E$(D1,D2)+"+":RETURN ELSE RETURN
6250 A0=Q1:GOSUB 700:E$(D1,D2)=E$(D1,D2)+CHR$(A1+64)+B$:IF Q1<>B2 THEN E$(D1,D2)=E$(D1,D2)+"+":RETURN ELSE RETURN
7260 IF (A$>"/" AND A$<":") OR A$="." THEN B$=B$+A$:CNT=CNT+1:A$=MID$(E$(J,I),II+CNT+1,1):GOTO 7260
7270 TMP=VAL(B$):II=II+CNT:RETURN
7300 IF OP=1 THEN M(J,I)=M(J,I)+TMP:RETURN
7310 IF OP=2 THEN M(J,I)=M(J,I)-TMP:RETURN
7320 IF OP=3 THEN M(J,I)=M(J,I)*TMP:RETURN
7330 IF OP=4 THEN M(J,I)=M(J,I)/TMP:RETURN
7340 RETURN
7900 NEXT I:NEXT J:Z8=C:Z9=R:GOSUB 9100:GOTO 30
7990 '&H2E2E..Help Routine....
8000 LOCATE 1,1:PRINT BL$;:LOCATE 1,1:PRINT "Enter command for Help?";
8010 A$=INKEY$:IF A$="" THEN 8010 ELSE IF A$="B" THEN 8020 ELSE IF A$="Q" THEN 8030 ELSE IF A$="N" THEN 8040 ELSE IF A$="P" THEN 8050 ELSE IF A$="C" THEN 8060 ELSE IF A$="R" THEN 8070 ELSE IF A$="S" THEN 8080 ELSE IF A$="D" THEN 8090
8011 IF A$="L" THEN 8100 ELSE IF A$="T" THEN 8110 ELSE IF A$="A" THEN 8120 ELSE IF A$="G" THEN 8130 ELSE IF A$="E" THEN 8140 ELSE IF A$=">" THEN 8150 ELSE 30
8020 LOCATE 1,1:PRINT "<B>LANK. Clears the contents of the current cursor position.";:GOTO 8200
8030 LOCATE 1,1:PRINT "<Q>UIT. Exits the MiniCalc program. ";:GOTO 8200
8040 LOCATE 1,1:PRINT "<N>EW screen. Clears the screen and starts the program over.";:GOTO 8200
8050 LOCATE 1,1:PRINT "<P>RINT. Output the screen to the printer for hard copy.";:GOTO 8200
8060 LOCATE 1,1:PRINT "<C>OMPUTE. Performs a math function with two positions. ";:GOTO 8200
8070 LOCATE 1,1:PRINT "<R>EPLICATE. Performs a math function on a series of positions.";:GOTO 8200
8080 LOCATE 1,1:PRINT "<S>AVE. Saves the screen contents to a disk file. ";:GOTO 8200
8090 LOCATE 1,1:PRINT "<D>ELETES a series of row or column positions. ";:GOTO 8200
8100 LOCATE 1,1:PRINT "<L>OAD. Loads a previously saved screen from disk. ";:GOTO 8200
8110 LOCATE 1,1:PRINT "<T>OTAL a series of row or column positions. ";:GOTO 8200
8120 LOCATE 1,1:PRINT "<A>VERAGE a series of row or column positions. ";:GOTO 8200
8130 LOCATE 1,1:PRINT "<G>RAPH a series of row or column positions. ";:GOTO 8200
8140 LOCATE 1,1:PRINT "<E>quation. Enter equation or compute equations. ";:GOTO 8200
8150 LOCATE 1,1:PRINT "(>). Go to location on screen. ";:GOTO 8200
8200 IF INKEY$="" THEN 8200 ELSE 30
8990 '&H2E2E..Value Input Routine....
9000 B$=""
9001 A$=INKEY$:IF A$="" THEN 9001 ELSE IF A$=CHR$(13) THEN RETURN
9002 IF A$=CHR$(8) THEN LOCATE ,POS(0)-1:B$=LEFT$(B$,LEN(B$)-1):GOTO 9001
9003 PRINT A$;:B$=B$+A$:GOTO 9001
9090 '&H2E2E..Number Display....
9100 B$=STR$(M(Z8,Z9))
9105 IF M(Z8,Z9)>-1 THEN B$=RIGHT$(B$,LEN(B$)-1)
9106 IF LEN(B$)<7 THEN 9120
9108 BZ=INT(M(Z8,Z9)):BZ$=STR$(BZ):IF BZ>-1 THEN BZ$=RIGHT$(BZ$,LEN(BZ$)-1)
9110 IF LEN(BZ$)>6 THEN B$=" .... ":GOTO 9130
9115 B$=LEFT$(B$,6)
9120 LOCATE Z9+2,(Z8*7)-3:PRINT " ";
9130 LOCATE Z9+2,(Z8*7)-3+(6-LEN(B$)):PRINT B$;
9150 RETURN
9190 '&H2E2E..Undo Inverse Video....
9200 DEF SEG=&HB800:FOR I=A+1 TO A+12 STEP 2:POKE I,7:NEXT I
9210 RETURN
9990 '&H2E2E..MiniPlot Routine....
10000 CLS:FOR T=1 TO 22:P(T)=0:NEXT:LOCATE 1,1:PRINT "--Miniplot Version 1.0 -- John Vandegrift, Sept. 1982--";
10002 LOCATE 3,1:PRINT "GRAPH A COLUMN OR A ROW (C,R) ?";
10004 A$=INKEY$:IF A$="" THEN 10004 ELSE IF A$="C" THEN 10006 ELSE IF A$="R" THEN 10008 ELSE 10250
10006 LOCATE 5,1:PRINT "WHICH COLUMN DO YOU WANT TO GRAPH (A-K) ?";
10007 A$=INKEY$:IF A$="" THEN 10007 ELSE IF A$<"A" OR A$>"K" THEN 10007 ELSE S=ASC(A$)-64:FOR Q=1 TO 22:P(Q)=M(S,Q):NEXT:INC=3:GOTO 10100
10008 LOCATE 5,1:PRINT "WHICH ROW DO YOU WANT TO GRAPH (1-22) ?";
10010 A$=INKEY$:IF A$="" THEN 10010 ELSE IF A$<"0" OR A$>"2" THEN 10010 ELSE Z5$=A$:PRINT A$;
10011 A$=INKEY$:IF A$="" THEN 10011 ELSE IF A$<"0" OR A$>"9" THEN 10011 ELSE Z5$=Z5$+A$:PRINT A$;:S=VAL(Z5$):Z5$="":FOR Q=1 TO 11:P(Q)=M(Q,S):NEXT:INC=6
10100 CLS:FOR X=1 TO 22:LOCATE X,10:PRINT CHR$(221);:NEXT:LOCATE 23,10:PRINT STRING$(67,220);
10101 IF P(12)=0 THEN LOCATE 24,12:FOR N=1 TO 11:PRINT CHR$(N+64);" ";:NEXT N:NE=11 ELSE FOR N=1 TO 22:LOCATE 24,11+(N-1)*3:PRINT N;:NEXT N:NE=22
10110 LOW=P(1):HIGH=P(1):FOR N=1 TO NE:IF P(N)>HIGH THEN HIGH=P(N)
10120 IF P(N)<LOW THEN LOW=P(N)
10130 NEXT N:INCRE=(HIGH-LOW)/22
10150 FOR X=1 TO 23:LOCATE 24-X,1:PRINT USING "######.##";LOW+(INCRE*(X-1));:NEXT
10160 FOR I=1 TO NE:FOR J=1 TO 22:IF P(I) < LOW+(INCRE*J) THEN 10180
10200 LOCATE 25,19:PRINT "Space bar - plot options. P - print graph.";
10230 A$=INKEY$:IF A$="" THEN 10230 ELSE IF A$="P" THEN 10500 ELSE IF A$<>" " THEN 10230 ELSE CLS:LOCATE 10,38:PRINT "MiniPlot":PRINT:PRINT TAB(35);"<Q>UIT PROGRAM":PRINT TAB(32);"<P>LOT ANOTHER GRAPH":PRINT TAB(30);"OR <R>ETURN TO QUIKCALC"
10231 LOCATE 18,37:PRINT "Selection ?";
10240 A$=INKEY$:IF A$="Q" THEN 2600 ELSE IF A$="P" THEN 10000 ELSE IF A$="R" THEN 10250 ELSE 10240
10250 CLS:FOR T=3 TO 24:LOCATE T,1:PRINT USING "##";T-2;:PRINT CHR$(221);:NEXT
10251 LOCATE 2,3:PRINT CHR$(219);:FOR I=65 TO 75:PRINT S$;" ";CHR$(I);" ";S$;:NEXT I
10260 FOR X=1 TO 11:FOR Y=1 TO 22:IF M(X,Y)<>0 THEN Z8=X:Z9=Y:GOSUB 9100:GOTO 10265
10262 IF M$(X,Y)<>"" THEN LOCATE Y+2,(X*7)-3+(6-LEN(M$(X,Y))):PRINT M$(X,Y);
10265 NEXT Y:NEXT X:B$=STR$(M(1,1))
10270 C=1:R=1:GOTO 30
10500 LPRINT TAB(20);"------------Bar graph of data------------":DEF SEG = &HB800:WIDTH "LPT1:",81:FOR I=0 TO 23:FOR J=0 TO 79:INMEM=PEEK((J*2)+(I*160))